package com.simple.mipc.annotation;

import com.simple.mipc.cast.AutoCast;
import com.simple.mipc.cast.ParamCast;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@Documented
public @interface Param {

    /**
     * @return 参数名称
     */
    String value();

    Class<? extends ParamCast> typeCast() default AutoCast.class;
}
